home *** CD-ROM | disk | FTP | other *** search
- This is the source or binary distribution of ODBC for MySQL.
- This software is in public domain. You may use it in any way you like.
- There is no WARRANTY of any kind. Use at our own risk..
-
- If you want to ensure the development of this product, you should register
- for MySQL support and tell that you are using MyODBC in the comment field!
-
- The setup32 binary distribution may be obtained from the file myodbc-xxx.zip
- at http://www.mysql.com/
-
- To get all functionality from the ODBC driver (like transaction
- support) you should use it against MySQL 3.23.36 or above. This driver
- also works with MySQL 3.20.x
-
- To compile with Microsoft VC++ one will need the ODBC 3.0 package from
- Microsoft or VC++ 5.0 or 6.0 professional edition. This version of
- MyODBC is made with VC++ 6.0, with a define to force ODBC 2.50 usage,
- together with the installer from ODBC 2.5. You will also need the
- MySQL libraries and header files from MySQL 3.23.36 or newer.
-
- We will look into the 3.0 ODBC kit when we can get the installer
- problem solved. We may be able to fool the setup program by using a
- 2.5 installer with a ODBC 3.0 driver, but we have to investigate this
- at some later time.
-
- In the source distribution the example makefiles and resources are made
- with VC++ 6.0.
-
- If you have problems installing MyODBC the most likely problem is that
- you have some applications running that uses the ODBC manager. The
- solution to this is to start your computer in 'safe mode' and install
- MyODBC in this mode. Another option is to try the small installer
- (install.bat) that comes with the myodbc-xxxx-dll.zip distribution.
-
-
- HOW TO MAKE A PROPER BUG REPORT:
-
- To make a bug report that will be answered quickly do the following:
- Put a 4 in the Option argument. This will tell MyODBC to make a trace
- file in C:\myodbc.log that contains lot of info with will help us to
- debug the problem. One can also set the MYSQL_DEBUG environment variable
- to something like 'd:t:O,c::\tmp\mysql.log' to get a log in C:\tmp\mysql.log
-
- A sql.log file, with may be enabled with odbcadmin from the Control Panel,
- could also provide some interesting info. If possible try to get a log
- from the mysqld server too.
-
-
- IMPORTANT NOTES:
-
- MyODBC 2.50.18 has a new nice interface to the different MyODBC options.
- (On Unix the option is still a number).
-
- The Option argument is used to tell MyODBC that the client isn't 100% ODBC
- compliant. The following options are listed in the same order as they
- appear in the MyODBC connect screen:
-
- 1 The client can't handle that MyODBC returns the real width of a column.
- 2 The client can't handle that MySQL returns the true value of
- affected rows. If this flag is set then MySQL returns 'found rows'
- instead. One must have MySQL 3.21.14 or newer to get this to work.
- 4 Make a debug log in c:\myodbc.log. This is the same as putting
- MYSQL_DEBUG=d:t:O,c::\myodbc.log in AUTOEXEC.BAT
- 8 Don't set any packet limit for results and parameters.
- 16 Don't prompt for questions even if driver would like to prompt
- 32 Simulate a ODBC 1.0 driver in some context.
- 64 Ignore use of database name in 'database.table.column'. (MySQL 3.22)
- 128 Force use of ODBC manager cursors (experimental)
- 256 Remove use of extended fetch (experimental)
- 512 Pad CHAR fields to full column length.
- 1024 SQLDescribeCol() will return fully qualifed column names
- 2048 Use compressed protocol (if server supports it)
- 4096 Tell server to ignore space after function name and before '('
- (needed by PowerBuilder). This will make all function names keywords!
- 8192 Connect with named pipes to a mysqld server running on NT.
- 16384 Change LONGLONG columns to INT columns, as some applications can't
- handle LONGLONG.
- 32768 Return 'user' as Table_qualifier and Table_owner from SQLTables
- (test)
- 65536 Read my.cnf
- 131072 Add some extra safety checks (should not bee needed but...)
- 262144 Disable the new transaction support (To avoid newly introduced bugs)
-
- On Unix; If you want to have many options, you should add the above flags!
- For example Option 12 (4+8) gives you debugging without package limits!
-
- Some clients that must set some MySQL options to work properly.
- On Win32 one have to check the specific option in the ODBC manager
- for the database connection.
-
- BDE applications: 1 or 3; 'Don't optimize column widths' and
- 'Return matching rows'
- Visual Objects: 1 'Don't optimize column widths'
- Vision 2 'Return matching rows'
- Active server pages 2 'Return matching rows'
- Access 7.0: 2 'Return matching rows'
- Access 2.0: 2+32 'Return matching rows' and 'Simulate ODBC 1.0'
- ODBCETE32 + quiktest 512+1 'Don't optimize column widths' + 'Pad CHAR'
- Visual Basic / ADO 2+16384 ''Return matching rows / BIGINT -> INT'
-
- The default MYODBC.DLL is compiled for optimal performance. If you
- want to to debug MyODBC (for example to enable tracing), you should
- instead use the the MYODBCD.DLL. If you want to use this one, copy
- MYODBCD.DLL over the installed MYODBC.DLL.
-
- If you have any problems with MyODBC, try first to get the 'admndemo'
- program, that is include with the MyODBC distribution, to work!
-
- Some common problems:
-
- - Wrong connection port: The port should be 3333 for MySQL 3.20 and 3306
- (default) for MySQL 3.21 or newer.
- - Access denied problems. Check the MySQL reference manual for information
- about the MySQL privilege system!
- - If you are connecting to a server with a character set that isn't compiled
- into the MySQL client library (the defaults are:
- latin1 big5 czech euc_kr gb2312 gbk sjis tis620 ujis
- ) then you need to install the mysql character definitions from the
- charsets directory into the c:\mysql\share\charsets.
-
-
- Authors:
-
- Main coding: Michael 'Monty' Widenius, TCX Datakonsult AB / MySQL AB
-
- Known bugs:
-
- - Access can't use float fields in a table without a timestamp if you are going
- to update it. Double on the other hand should work.
- - Access 2000 needs a patch from Microsoft to be able to export tables to
- MySQL; Just download and install the newest Microsoft MDAC from
- http://www.microsoft.com/data
- - There is a bug in the Microsoft ODBC setup that it can't detect if a OS
- is NT or WIN95. Because of this MyODBC is distributed in 2 different
- versions, one for WIN95 and one for NT.
- The only difference is the file odbc.inf, which tells SETUP if it should
- install CTL3D95.DL_ or CTL3DNT.DLL as CTL3D32.DLL.
- If you have downloaded wrong version of MyODBC simple copy ODBC.95 or ODBC.NT
- over ODBC.INF and execute setup again!
- - ODBC 2.50 doesn't allow very good usage of bigint (64 bit) numbers; some
- applications may have a problem with this.
- - TIMESTAMP to TIME conversions doesn't work.
- - Binary fields are returned as strings, not as hex strings.
- - Some conversion are not according to the ODBC standard, but this shouldn't
- affect standard applications.
- - Some applications thinks that MyODBC has full cursor support. This is not
- true (we are working on this however); If your application need full cursor
- support you should tell your application to use the ODBC manager cursor
- library.
- - As MyODBC doesn't yet have an own cursor library one can only use MyODBC
- with applications that follows the ODBC specification and can work with
- ODBC MANAGER cursors. Some programs, notably from Microsoft, doesn't
- follow the ODBC specification how to use cursors; They only work with
- DRIVER cursors! There may be a change that you can fool the application
- to use MANAGER cursors by using the 128 option flag!
- There is work in progress in supporting cursors in MyODBC. If you are
- interested in helping us with this, mail what you can do to myodbc@mysql.com
- You can also support our work by taking MySQL email support!
- - ODBC can't support zero dates "0000-00-00". MyODBC automaticly converts
- 0000-00-00 dates to NULL. Date columns that you want to update and that
- can be 0000-00-00 should not be declared as 'NOT NULL'.
- - One should add a help to the connect screen.
-